﻿<Application x:Class="SilverlightValidation.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:p="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls"
             xmlns:s="clr-namespace:System;assembly=mscorlib"
             xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">
    <Application.Resources>
        <ControlTemplate x:Key="ValidationToolTipTemplate">
            <Grid x:Name="Root"
                  Margin="5,0"
                  Opacity="0"
                  RenderTransformOrigin="0,0">
                <Grid.RenderTransform>
                    <TranslateTransform x:Name="xform" X="-25" />
                </Grid.RenderTransform>
                <VisualStateManager.VisualStateGroups>
                    <VisualStateGroup x:Name="OpenStates">
                        <VisualStateGroup.Transitions>
                            <VisualTransition GeneratedDuration="0" />
                            <VisualTransition GeneratedDuration="0:0:0.2" To="Open">
                                <Storyboard>
                                    <DoubleAnimation Duration="0:0:0.2"
                                                     Storyboard.TargetName="xform"
                                                     Storyboard.TargetProperty="X"
                                                     To="0">
                                        <DoubleAnimation.EasingFunction>
                                            <BackEase Amplitude=".3" EasingMode="EaseOut" />
                                        </DoubleAnimation.EasingFunction>
                                    </DoubleAnimation>
                                    <DoubleAnimation Duration="0:0:0.2"
                                                     Storyboard.TargetName="Root"
                                                     Storyboard.TargetProperty="Opacity"
                                                     To="1" />
                                </Storyboard>
                            </VisualTransition>
                        </VisualStateGroup.Transitions>
                        <VisualState x:Name="Closed">
                            <Storyboard>
                                <DoubleAnimation Duration="0"
                                                 Storyboard.TargetName="Root"
                                                 Storyboard.TargetProperty="Opacity"
                                                 To="0" />
                            </Storyboard>
                        </VisualState>
                        <VisualState x:Name="Open">
                            <Storyboard>
                                <DoubleAnimation Duration="0"
                                                 Storyboard.TargetName="xform"
                                                 Storyboard.TargetProperty="X"
                                                 To="0" />
                                <DoubleAnimation Duration="0"
                                                 Storyboard.TargetName="Root"
                                                 Storyboard.TargetProperty="Opacity"
                                                 To="1" />
                            </Storyboard>
                        </VisualState>
                    </VisualStateGroup>
                </VisualStateManager.VisualStateGroups>
                <Border Margin="4,4,-4,-4"
                        Background="#052A2E31"
                        CornerRadius="5" />
                <Border Margin="3,3,-3,-3"
                        Background="#152A2E31"
                        CornerRadius="4" />
                <Border Margin="2,2,-2,-2"
                        Background="#252A2E31"
                        CornerRadius="3" />
                <Border Margin="1,1,-1,-1"
                        Background="#352A2E31"
                        CornerRadius="2" />
                <Border Background="#FFDC000C" CornerRadius="2" />
                <Border CornerRadius="2">
                    <TextBlock MaxWidth="250"
                               Margin="8,4,8,4"
                               Foreground="White"
                               Text="{Binding (Validation.Errors)[0].ErrorContent}"
                               TextWrapping="Wrap"
                               UseLayoutRounding="false" />
                </Border>
            </Grid>
        </ControlTemplate>

        <Style x:Key="LabelStyle" TargetType="TextBlock">
            <Setter Property="Height" Value="18" />
            <Setter Property="FontFamily" Value="Segoe UI Light" />
            <Setter Property="FontSize" Value="14" />
            <Setter Property="VerticalAlignment" Value="Center" />
        </Style>

        <Style x:Key="TextBoxStyle" TargetType="TextBox">
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Background" Value="#FFFFFFFF" />
            <Setter Property="FontFamily" Value="Segoe UI Light" />
            <Setter Property="FontSize" Value="12" />
            <Setter Property="Height" Value="24" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="Foreground" Value="#FF000000" />
            <Setter Property="Padding" Value="2" />
            <Setter Property="BorderBrush">
                <Setter.Value>
                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                        <GradientStop Offset="0" Color="#FFA3AEB9" />
                        <GradientStop Offset="0.375" Color="#FF8399A9" />
                        <GradientStop Offset="0.375" Color="#FF718597" />
                        <GradientStop Offset="1" Color="#FF617584" />
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TextBox">
                        <Grid x:Name="RootElement">
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Normal" />
                                    <VisualState x:Name="MouseOver">
                                        <Storyboard>
                                            <ColorAnimation Duration="0"
                                                            Storyboard.TargetName="MouseOverBorder"
                                                            Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
                                                            To="#FF99C1E2" />
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="DisabledVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="1" />
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="ReadOnly">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="ReadOnlyVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="1" />
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="FocusStates">
                                    <VisualState x:Name="Focused">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="FocusVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="1" />
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Unfocused">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="FocusVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="0" />
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="ValidationStates">
                                    <VisualState x:Name="Valid" />
                                    <VisualState x:Name="InvalidUnfocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Visible</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="InvalidFocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Visible</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <s:Boolean>True</s:Boolean>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <Border x:Name="Border"
                                    Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    CornerRadius="1"
                                    Opacity="1">
                                <Grid>
                                    <Border x:Name="ReadOnlyVisualElement"
                                            Background="#5EC9C9C9"
                                            Opacity="0" />
                                    <Border x:Name="MouseOverBorder"
                                            BorderBrush="Transparent"
                                            BorderThickness="1">
                                        <ScrollViewer x:Name="ContentElement"
                                                      BorderThickness="0"
                                                      IsTabStop="False"
                                                      Padding="{TemplateBinding Padding}" />
                                    </Border>
                                </Grid>
                            </Border>
                            <Border x:Name="DisabledVisualElement"
                                    Background="#A5F7F7F7"
                                    BorderBrush="#A5F7F7F7"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    IsHitTestVisible="False"
                                    Opacity="0" />
                            <Border x:Name="FocusVisualElement"
                                    Margin="1"
                                    BorderBrush="#FF6DBDD1"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    IsHitTestVisible="False"
                                    Opacity="0" />
                            <Border x:Name="ValidationErrorElement"
                                    BorderBrush="#FFDC000C"
                                    BorderThickness="1"
                                    CornerRadius="1"
                                    Visibility="Collapsed">
                                <ToolTipService.ToolTip>
                                    <ToolTip x:Name="validationTooltip"
                                             DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Placement="Right"
                                             PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Template="{StaticResource ValidationToolTipTemplate}">
                                        <ToolTip.Triggers>
                                            <EventTrigger RoutedEvent="Canvas.Loaded">
                                                <EventTrigger.Actions>
                                                    <BeginStoryboard>
                                                        <Storyboard>
                                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">
                                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                                    <DiscreteObjectKeyFrame.Value>
                                                                        <s:Boolean>true</s:Boolean>
                                                                    </DiscreteObjectKeyFrame.Value>
                                                                </DiscreteObjectKeyFrame>
                                                            </ObjectAnimationUsingKeyFrames>
                                                        </Storyboard>
                                                    </BeginStoryboard>
                                                </EventTrigger.Actions>
                                            </EventTrigger>
                                        </ToolTip.Triggers>
                                    </ToolTip>
                                </ToolTipService.ToolTip>
                                <Grid Width="12"
                                      Height="12"
                                      Margin="1,-4,-4,0"
                                      HorizontalAlignment="Right"
                                      VerticalAlignment="Top"
                                      Background="Transparent">
                                    <Path Margin="1,3,0,0"
                                          Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z"
                                          Fill="#FFDC000C" />
                                    <Path Margin="1,3,0,0"
                                          Data="M 0,0 L2,0 L 8,6 L8,8"
                                          Fill="#ffffff" />
                                </Grid>
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="DatePickerStyle" TargetType="sdk:DatePicker">
            <Setter Property="FontFamily" Value="Segoe UI Light" />
            <Setter Property="FontSize" Value="14" />
            <Setter Property="Height" Value="24" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="IsTabStop" Value="False" />
            <Setter Property="Background" Value="#FFFFFFFF" />
            <Setter Property="Padding" Value="2" />
            <Setter Property="SelectionBackground" Value="#FF444444" />
            <Setter Property="BorderBrush">
                <Setter.Value>
                    <LinearGradientBrush StartPoint=".5,1" EndPoint=".5,0">
                        <GradientStop Offset="0" Color="#FF617584" />
                        <GradientStop Offset="0.375" Color="#FF718597" />
                        <GradientStop Offset="0.375" Color="#FF8399A9" />
                        <GradientStop Offset="1" Color="#FFA3AEB9" />
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="sdk:DatePicker">
                        <Grid x:Name="Root">
                            <Grid.Resources>
                                <SolidColorBrush x:Key="DisabledBrush" Color="#8CFFFFFF" />
                                <ControlTemplate x:Key="DropDownButtonTemplate" TargetType="Button">
                                    <Grid>
                                        <VisualStateManager.VisualStateGroups>
                                            <VisualStateGroup x:Name="CommonStates">
                                                <VisualStateGroup.Transitions>
                                                    <VisualTransition GeneratedDuration="0" />
                                                    <VisualTransition GeneratedDuration="0:0:0.1" To="MouseOver" />
                                                    <VisualTransition GeneratedDuration="0:0:0.1" To="Pressed" />
                                                </VisualStateGroup.Transitions>
                                                <VisualState x:Name="Normal" />
                                                <VisualState x:Name="MouseOver">
                                                    <Storyboard>
                                                        <ColorAnimation Duration="0"
                                                                        Storyboard.TargetName="Background"
                                                                        Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
                                                                        To="#FF448DCA" />
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[3].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#7FFFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[2].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#CCFFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#F2FFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </VisualState>
                                                <VisualState x:Name="Pressed">
                                                    <Storyboard>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="Background"
                                                                                      Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#FF448DCA" />
                                                        </ColorAnimationUsingKeyFrames>
                                                        <DoubleAnimationUsingKeyFrames BeginTime="0"
                                                                                       Duration="00:00:00.001"
                                                                                       Storyboard.TargetName="Highlight"
                                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                                            <SplineDoubleKeyFrame KeyTime="0" Value="1" />
                                                        </DoubleAnimationUsingKeyFrames>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#EAFFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[2].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#C6FFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[3].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#6BFFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                        <ColorAnimationUsingKeyFrames BeginTime="0"
                                                                                      Duration="00:00:00.001"
                                                                                      Storyboard.TargetName="BackgroundGradient"
                                                                                      Storyboard.TargetProperty="(Border.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
                                                            <SplineColorKeyFrame KeyTime="0" Value="#F4FFFFFF" />
                                                        </ColorAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </VisualState>
                                                <VisualState x:Name="Disabled">
                                                    <Storyboard>
                                                        <DoubleAnimationUsingKeyFrames BeginTime="0"
                                                                                       Duration="00:00:00.001"
                                                                                       Storyboard.TargetName="DisabledVisual"
                                                                                       Storyboard.TargetProperty="(UIElement.Opacity)">
                                                            <SplineDoubleKeyFrame KeyTime="0" Value="1" />
                                                        </DoubleAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </VisualState>
                                            </VisualStateGroup>
                                        </VisualStateManager.VisualStateGroups>
                                        <Grid Width="19"
                                              Height="18"
                                              Margin="0"
                                              HorizontalAlignment="Center"
                                              VerticalAlignment="Center"
                                              Background="#11FFFFFF">
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="23*" />
                                                <RowDefinition Height="19*" />
                                                <RowDefinition Height="19*" />
                                                <RowDefinition Height="19*" />
                                            </Grid.RowDefinitions>
                                            <Grid.ColumnDefinitions>
                                                <ColumnDefinition Width="20*" />
                                                <ColumnDefinition Width="20*" />
                                                <ColumnDefinition Width="20*" />
                                                <ColumnDefinition Width="20*" />
                                            </Grid.ColumnDefinitions>
                                            <Border x:Name="Highlight"
                                                    Grid.Row="0"
                                                    Grid.RowSpan="4"
                                                    Grid.ColumnSpan="4"
                                                    Margin="-1"
                                                    BorderBrush="#FF6DBDD1"
                                                    BorderThickness="1"
                                                    CornerRadius="0,0,1,1"
                                                    Opacity="0" />
                                            <Border x:Name="Background"
                                                    Grid.Row="1"
                                                    Grid.RowSpan="3"
                                                    Grid.ColumnSpan="4"
                                                    Margin="0,-1,0,0"
                                                    Background="#FF1F3B53"
                                                    BorderBrush="#FFFFFFFF"
                                                    BorderThickness="1"
                                                    CornerRadius=".5"
                                                    Opacity="1" />
                                            <Border x:Name="BackgroundGradient"
                                                    Grid.Row="1"
                                                    Grid.RowSpan="3"
                                                    Grid.ColumnSpan="4"
                                                    Margin="0,-1,0,0"
                                                    BorderBrush="#BF000000"
                                                    BorderThickness="1"
                                                    CornerRadius=".5"
                                                    Opacity="1">
                                                <Border.Background>
                                                    <LinearGradientBrush StartPoint=".7,0" EndPoint=".7,1">
                                                        <GradientStop Offset="0" Color="#FFFFFFFF" />
                                                        <GradientStop Offset="0.375" Color="#F9FFFFFF" />
                                                        <GradientStop Offset="0.625" Color="#E5FFFFFF" />
                                                        <GradientStop Offset="1" Color="#C6FFFFFF" />
                                                    </LinearGradientBrush>
                                                </Border.Background>
                                            </Border>
                                            <Rectangle Grid.RowSpan="1"
                                                       Grid.ColumnSpan="4"
                                                       StrokeThickness="1">
                                                <Rectangle.Stroke>
                                                    <LinearGradientBrush StartPoint="0.48,1.25" EndPoint="0.48,-1">
                                                        <GradientStop Color="#FF494949" />
                                                        <GradientStop Offset="1" Color="#FF9F9F9F" />
                                                    </LinearGradientBrush>
                                                </Rectangle.Stroke>
                                                <Rectangle.Fill>
                                                    <LinearGradientBrush StartPoint="0.46,1.6" EndPoint="0.3,-1.1">
                                                        <GradientStop Color="#FF4084BD" />
                                                        <GradientStop Offset="1" Color="#FFAFCFEA" />
                                                    </LinearGradientBrush>
                                                </Rectangle.Fill>
                                            </Rectangle>
                                            <Path Grid.Row="1"
                                                  Grid.RowSpan="3"
                                                  Grid.Column="0"
                                                  Grid.ColumnSpan="4"
                                                  Margin="4,3,4,3"
                                                  HorizontalAlignment="Center"
                                                  VerticalAlignment="Center"
                                                  Data="M11.426758,8.4305077 L11.749023,8.4305077 L11.749023,16.331387 L10.674805,16.331387 L10.674805,10.299648 L9.0742188,11.298672 L9.0742188,10.294277 C9.4788408,10.090176 9.9094238,9.8090878 10.365967,9.4510155 C10.82251,9.0929432 11.176106,8.7527733 11.426758,8.4305077 z M14.65086,8.4305077 L18.566387,8.4305077 L18.566387,9.3435936 L15.671368,9.3435936 L15.671368,11.255703 C15.936341,11.058764 16.27293,10.960293 16.681133,10.960293 C17.411602,10.960293 17.969301,11.178717 18.354229,11.615566 C18.739157,12.052416 18.931622,12.673672 18.931622,13.479336 C18.931622,15.452317 18.052553,16.438808 16.294415,16.438808 C15.560365,16.438808 14.951641,16.234707 14.468243,15.826504 L14.881817,14.929531 C15.368796,15.326992 15.837872,15.525723 16.289043,15.525723 C17.298809,15.525723 17.803692,14.895514 17.803692,13.635098 C17.803692,12.460618 17.305971,11.873379 16.310528,11.873379 C15.83071,11.873379 15.399232,12.079271 15.016094,12.491055 L14.65086,12.238613 z"
                                                  Fill="#FF2F2F2F"
                                                  RenderTransformOrigin="0.5,0.5"
                                                  Stretch="Fill" />
                                            <Ellipse Grid.ColumnSpan="4"
                                                     Width="3"
                                                     Height="3"
                                                     HorizontalAlignment="Center"
                                                     VerticalAlignment="Center"
                                                     Fill="#FFFFFFFF"
                                                     StrokeThickness="0" />
                                            <Border x:Name="DisabledVisual"
                                                    Grid.Row="0"
                                                    Grid.RowSpan="4"
                                                    Grid.ColumnSpan="4"
                                                    BorderBrush="#B2FFFFFF"
                                                    BorderThickness="1"
                                                    CornerRadius="0,0,.5,.5"
                                                    Opacity="0" />
                                        </Grid>
                                    </Grid>
                                </ControlTemplate>
                            </Grid.Resources>
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Normal" />
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="DisabledVisual"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="1" />
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="ValidationStates">
                                    <VisualState x:Name="Valid" />
                                    <VisualState x:Name="InvalidUnfocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Visible</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="InvalidFocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Visible</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <s:Boolean>True</s:Boolean>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>
                            <p:DatePickerTextBox x:Name="TextBox"
                                                 Grid.Column="0"
                                                 Background="{TemplateBinding Background}"
                                                 BorderBrush="{TemplateBinding BorderBrush}"
                                                 BorderThickness="{TemplateBinding BorderThickness}"
                                                 Padding="{TemplateBinding Padding}"
                                                 SelectionBackground="{TemplateBinding SelectionBackground}" />
                            <Button x:Name="Button"
                                    Grid.Column="1"
                                    Width="20"
                                    Margin="2,0,2,0"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    Foreground="{TemplateBinding Foreground}"
                                    Template="{StaticResource DropDownButtonTemplate}" />
                            <Grid x:Name="DisabledVisual"
                                  Grid.ColumnSpan="2"
                                  IsHitTestVisible="False"
                                  Opacity="0">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="*" />
                                    <ColumnDefinition Width="Auto" />
                                </Grid.ColumnDefinitions>
                                <Rectangle Fill="#8CFFFFFF"
                                           RadiusX="1"
                                           RadiusY="1" />
                                <Rectangle Grid.Column="1"
                                           Width="19"
                                           Height="18"
                                           Margin="2,0,2,0"
                                           Fill="#8CFFFFFF"
                                           RadiusX="1"
                                           RadiusY="1" />
                            </Grid>
                            <Popup x:Name="Popup" />
                            <Border x:Name="ValidationErrorElement"
                                    BorderBrush="#FFDC000C"
                                    BorderThickness="1"
                                    CornerRadius="1"
                                    Visibility="Collapsed">
                                <ToolTipService.ToolTip>
                                    <ToolTip x:Name="validationTooltip"
                                             DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Placement="Right"
                                             PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Template="{StaticResource ValidationToolTipTemplate}">
                                        <ToolTip.Triggers>
                                            <EventTrigger RoutedEvent="Canvas.Loaded">
                                                <BeginStoryboard>
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">
                                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                                <DiscreteObjectKeyFrame.Value>
                                                                    <s:Boolean>true</s:Boolean>
                                                                </DiscreteObjectKeyFrame.Value>
                                                            </DiscreteObjectKeyFrame>
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </BeginStoryboard>
                                            </EventTrigger>
                                        </ToolTip.Triggers>
                                    </ToolTip>
                                </ToolTipService.ToolTip>
                                <Grid Width="12"
                                      Height="12"
                                      Margin="1,-4,-4,0"
                                      HorizontalAlignment="Right"
                                      VerticalAlignment="Top"
                                      Background="Transparent">
                                    <Path Margin="1,3,0,0"
                                          Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z"
                                          Fill="#FFDC000C" />
                                    <Path Margin="1,3,0,0"
                                          Data="M 0,0 L2,0 L 8,6 L8,8"
                                          Fill="#ffffff" />
                                </Grid>
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="ButtonStyle" TargetType="Button">
            <Setter Property="Height" Value="22" />
            <Setter Property="Margin" Value="5,0,0,0" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="Width" Value="60" />
        </Style>

        <Style x:Key="ValidationSummaryStyle" TargetType="sdk:ValidationSummary">
            <Setter Property="IsTabStop" Value="False" />
            <Setter Property="Background" Value="#FFEFEFEA" />
            <Setter Property="BorderBrush" Value="#FFCECEC7" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Padding" Value="0" />

            <Setter Property="HeaderTemplate">
                <Setter.Value>
                    <DataTemplate>
                        <Border x:Name="Header"
                                Margin="-1,-1,-1,0"
                                Background="#FFDC000C"
                                CornerRadius="2">
                            <StackPanel Margin="6,2,6,4"
                                        VerticalAlignment="Top"
                                        Orientation="Horizontal">
                                <Grid Width="13" Height="13">
                                    <Ellipse Margin="0" RenderTransformOrigin="0.5,0.5">
                                        <Ellipse.Fill>
                                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                                <GradientStop Offset="0" Color="#FFFFFFFF" />
                                                <GradientStop Offset="1" Color="#FFFDC8C8" />
                                            </LinearGradientBrush>
                                        </Ellipse.Fill>
                                        <Ellipse.Stroke>
                                            <LinearGradientBrush StartPoint="0.505,0.65" EndPoint="0.5,0.058">
                                                <GradientStop Offset="0" Color="#FFDC000C" />
                                                <GradientStop Offset="0.991" Color="#FFFF9298" />
                                            </LinearGradientBrush>
                                        </Ellipse.Stroke>
                                    </Ellipse>
                                    <Path Data="M5.5,2.5 L7.5,2.5 L7.5,8 L5.5,8 M5.5,9.5 L7.5,9.5 L7.5,10.5 L5.5,10.5" Fill="#DDD43940" />
                                </Grid>
                                <TextBlock FontWeight="Bold"
                                           Foreground="#FFFFFFFF"
                                           Padding="4,1,0,0"
                                           Text="{Binding}" />
                            </StackPanel>
                        </Border>
                    </DataTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="ErrorStyle">
                <Setter.Value>
                    <Style TargetType="ListBoxItem">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="ListBoxItem">
                                    <Grid Background="{TemplateBinding Background}">
                                        <VisualStateManager.VisualStateGroups>
                                            <VisualStateGroup x:Name="CommonStates">
                                                <VisualState x:Name="Normal" />
                                                <VisualState x:Name="MouseOver">
                                                    <Storyboard>
                                                        <DoubleAnimation Duration="0"
                                                                         Storyboard.TargetName="FillColor"
                                                                         Storyboard.TargetProperty="Opacity"
                                                                         To=".35" />
                                                    </Storyboard>
                                                </VisualState>
                                                <VisualState x:Name="Disabled">
                                                    <Storyboard>
                                                        <DoubleAnimation Duration="0"
                                                                         Storyboard.TargetName="ContentPresenter"
                                                                         Storyboard.TargetProperty="Opacity"
                                                                         To=".55" />
                                                    </Storyboard>
                                                </VisualState>
                                            </VisualStateGroup>
                                            <VisualStateGroup x:Name="SelectionStates">
                                                <VisualState x:Name="Unselected" />
                                                <VisualState x:Name="Selected">
                                                    <Storyboard>
                                                        <DoubleAnimation Duration="0"
                                                                         Storyboard.TargetName="FillColor2"
                                                                         Storyboard.TargetProperty="Opacity"
                                                                         To=".75" />
                                                    </Storyboard>
                                                </VisualState>
                                            </VisualStateGroup>
                                            <VisualStateGroup x:Name="FocusStates">
                                                <VisualState x:Name="Focused">
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames Duration="0"
                                                                                       Storyboard.TargetName="FocusVisualElement"
                                                                                       Storyboard.TargetProperty="Visibility">
                                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </VisualState>
                                                <VisualState x:Name="Unfocused" />
                                            </VisualStateGroup>
                                        </VisualStateManager.VisualStateGroups>
                                        <Rectangle x:Name="FillColor"
                                                   Fill="#59F7D8DB"
                                                   IsHitTestVisible="False"
                                                   Opacity="0"
                                                   RadiusX="1"
                                                   RadiusY="1" />
                                        <Rectangle x:Name="FillColor2"
                                                   Fill="#FFF7D8DB"
                                                   IsHitTestVisible="False"
                                                   Opacity="0"
                                                   RadiusX="1"
                                                   RadiusY="1" />
                                        <ContentPresenter x:Name="ContentPresenter"
                                                          Margin="{TemplateBinding Padding}"
                                                          HorizontalAlignment="Left"
                                                          Content="{TemplateBinding Content}"
                                                          ContentTemplate="{TemplateBinding ContentTemplate}" />
                                        <Rectangle x:Name="FocusVisualElement"
                                                   RadiusX="1"
                                                   RadiusY="1"
                                                   Stroke="#FFF7D8DB"
                                                   StrokeThickness="1"
                                                   Visibility="Collapsed" />
                                    </Grid>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </Setter.Value>
            </Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="sdk:ValidationSummary">
                        <Grid x:Name="ValidationSummary">
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Normal" />
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Duration="0"
                                                                           Storyboard.TargetName="DisabledVisual"
                                                                           Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="ValidationStates">
                                    <VisualState x:Name="Empty">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Duration="0"
                                                                           Storyboard.TargetName="Content"
                                                                           Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed" />
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="HasErrors" />
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <Border x:Name="Content"
                                    Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    CornerRadius="0,0,2,2">
                                <Grid>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <ListBox x:Name="SummaryListBox"
                                             Grid.Row="1"
                                             Height="Auto"
                                             Background="{x:Null}"
                                             BorderThickness="0"
                                             Foreground="{TemplateBinding Foreground}"
                                             ItemContainerStyle="{TemplateBinding ErrorStyle}"
                                             Padding="{TemplateBinding Padding}"
                                             Style="{TemplateBinding SummaryListBoxStyle}">
                                        <ListBox.ItemTemplate>
                                            <DataTemplate>
                                                <StackPanel Orientation="Horizontal">
                                                    <TextBlock Margin="4,0,0,0"
                                                               FontWeight="Bold"
                                                               Text="{Binding MessageHeader}" />
                                                    <TextBlock Margin="4,0,0,0" Text="{Binding Message}" />
                                                </StackPanel>
                                            </DataTemplate>
                                        </ListBox.ItemTemplate>
                                    </ListBox>
                                    <Border x:Name="DisabledVisual"
                                            Grid.RowSpan="2"
                                            Background="#80FFFFFF"
                                            IsHitTestVisible="True"
                                            Visibility="Collapsed" />
                                    <ContentControl x:Name="HeaderContentControl"
                                                    HorizontalContentAlignment="Stretch"
                                                    VerticalContentAlignment="Center"
                                                    Content="{TemplateBinding Header}"
                                                    ContentTemplate="{TemplateBinding HeaderTemplate}"
                                                    IsTabStop="False" />
                                </Grid>
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <Style x:Key="PasswordBoxStyle" TargetType="PasswordBox">
            <Setter Property="FontFamily" Value="Segoe UI Light" />
            <Setter Property="FontSize" Value="12" />
            <Setter Property="Height" Value="24" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Background" Value="#FFFFFFFF" />
            <Setter Property="Foreground" Value="#FF000000" />
            <Setter Property="Padding" Value="2" />
            <Setter Property="BorderBrush">
                <Setter.Value>
                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                        <GradientStop Offset="0" Color="#FFA3AEB9" />
                        <GradientStop Offset="0.375" Color="#FF8399A9" />
                        <GradientStop Offset="0.375" Color="#FF718597" />
                        <GradientStop Offset="1" Color="#FF617584" />
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="PasswordBox">
                        <Grid x:Name="RootElement">
                            <VisualStateManager.VisualStateGroups>
                                <VisualStateGroup x:Name="CommonStates">
                                    <VisualState x:Name="Normal" />
                                    <VisualState x:Name="MouseOver">
                                        <Storyboard>
                                            <ColorAnimation Duration="0"
                                                            Storyboard.TargetName="MouseOverBorder"
                                                            Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
                                                            To="#FF99C1E2" />
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Disabled">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="DisabledVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="1" />
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="FocusStates">
                                    <VisualState x:Name="Focused">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="FocusVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="1" />
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="Unfocused">
                                        <Storyboard>
                                            <DoubleAnimation Duration="0"
                                                             Storyboard.TargetName="FocusVisualElement"
                                                             Storyboard.TargetProperty="Opacity"
                                                             To="0" />
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                                <VisualStateGroup x:Name="ValidationStates">
                                    <VisualState x:Name="Valid" />
                                    <VisualState x:Name="InvalidUnfocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Visible</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                    <VisualState x:Name="InvalidFocused">
                                        <Storyboard>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ValidationErrorElement" Storyboard.TargetProperty="Visibility">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <Visibility>Visible</Visibility>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsOpen">
                                                <DiscreteObjectKeyFrame KeyTime="0">
                                                    <DiscreteObjectKeyFrame.Value>
                                                        <s:Boolean>True</s:Boolean>
                                                    </DiscreteObjectKeyFrame.Value>
                                                </DiscreteObjectKeyFrame>
                                            </ObjectAnimationUsingKeyFrames>
                                        </Storyboard>
                                    </VisualState>
                                </VisualStateGroup>
                            </VisualStateManager.VisualStateGroups>
                            <Border x:Name="Border"
                                    Background="{TemplateBinding Background}"
                                    BorderBrush="{TemplateBinding BorderBrush}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    CornerRadius="1"
                                    Opacity="1">
                                <Border x:Name="MouseOverBorder"
                                        BorderBrush="Transparent"
                                        BorderThickness="1">
                                    <Border x:Name="ContentElement" Margin="{TemplateBinding Padding}" />
                                </Border>
                            </Border>
                            <Border x:Name="DisabledVisualElement"
                                    Background="#A5F7F7F7"
                                    BorderBrush="#A5F7F7F7"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    IsHitTestVisible="False"
                                    Opacity="0" />
                            <Border x:Name="FocusVisualElement"
                                    Margin="1"
                                    BorderBrush="#FF6DBDD1"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    IsHitTestVisible="False"
                                    Opacity="0" />
                            <Border x:Name="ValidationErrorElement"
                                    BorderBrush="#FFDC000C"
                                    BorderThickness="1"
                                    CornerRadius="1"
                                    Visibility="Collapsed">
                                <ToolTipService.ToolTip>
                                    <ToolTip x:Name="validationTooltip"
                                             DataContext="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Placement="Right"
                                             PlacementTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                                             Template="{StaticResource ValidationToolTipTemplate}">
                                        <ToolTip.Triggers>
                                            <EventTrigger RoutedEvent="Canvas.Loaded">
                                                <BeginStoryboard>
                                                    <Storyboard>
                                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="validationTooltip" Storyboard.TargetProperty="IsHitTestVisible">
                                                            <DiscreteObjectKeyFrame KeyTime="0">
                                                                <DiscreteObjectKeyFrame.Value>
                                                                    <s:Boolean>true</s:Boolean>
                                                                </DiscreteObjectKeyFrame.Value>
                                                            </DiscreteObjectKeyFrame>
                                                        </ObjectAnimationUsingKeyFrames>
                                                    </Storyboard>
                                                </BeginStoryboard>
                                            </EventTrigger>
                                        </ToolTip.Triggers>
                                    </ToolTip>
                                </ToolTipService.ToolTip>
                                <Grid Width="12"
                                      Height="12"
                                      Margin="1,-4,-4,0"
                                      HorizontalAlignment="Right"
                                      VerticalAlignment="Top"
                                      Background="Transparent">
                                    <Path Margin="1,3,0,0"
                                          Data="M 1,0 L6,0 A 2,2 90 0 1 8,2 L8,7 z"
                                          Fill="#FFDC000C" />
                                    <Path Margin="1,3,0,0"
                                          Data="M 0,0 L2,0 L 8,6 L8,8"
                                          Fill="#ffffff" />
                                </Grid>
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Application.Resources>
</Application>
